package com.mcxx.modules.temporary.service;

import com.mcxx.modules.miniSalvation.fundpay.entity.FundpayExceptionEntity;
import com.mcxx.modules.miniSalvation.fundpay.param.FundPayFamilyParam;
import com.mcxx.modules.miniSalvation.fundpay.param.FundPayParam;
import com.mcxx.modules.temporary.fundpay.dto.TmpCapitalFundSaveObjectDTO;
import com.mcxx.modules.temporary.fundpay.dto.TmpFundPayDTO;
import com.mcxx.modules.temporary.fundpay.param.TmpFundPayParam;
import com.yinhai.ta404.component.audit.vo.ExcelInfo;
import com.yinhai.ta404.core.restservice.requestbean.PageParam;
import com.yinhai.ta404.core.security.vo.UserAccountVo;
import com.yinhai.ta404.core.restservice.resultbean.Page;

import java.util.List;


public interface TempFundPayService {



    void addFundPay(TmpFundPayDTO fundPayDTO, UserAccountVo userAccountVo);


    void confirmFundPay(String fundPayId, UserAccountVo userAccountVo);


    String delFundPay(List<String> fundPayIdList);


    void delFundPayObjectList(String fundPayId, List<String> familyIdList);


    void addCapitalFundPayObject(TmpFundPayDTO tmpFundPayDTO, List<String> orderIdList);


    Page getNoSaveCapitalObjectList(TmpFundPayParam tmpFundPayParam, PageParam pageParam, UserAccountVo userAccountVo);


    ExcelInfo exportFundPayList(TmpFundPayParam param, UserAccountVo accountVo);


    ExcelInfo exportCapitalList(TmpFundPayParam param, UserAccountVo accountVo);


    String cancelFundPay(List<String> fundPayIdList);


    ExcelInfo exportCapitalObjectList(TmpFundPayParam param, UserAccountVo accountVo);


    String checkCanSyncFundpayData(String fundPayId);


    String syncFundpayData(String fundPayId);


    Page<FundpayExceptionEntity> getPageFundpayException(String fundPayId, PageParam pageParam);


    ExcelInfo exportExcel(String fundpayId);

    ExcelInfo exportExcelTempFundPay(String exportType, List<String> idsList, FundPayParam param, UserAccountVo curUserAccount);
}
